# 任务1.1：向手动创建txt文件添加内容

# 获取页面输入的内容，并存储在变量中
# $getName = Read-Host "Please enter your name"

# 输出：将变量写入到Manual_test.txt空文件文件中

# 1 write-output重定向方式：输入中文后可以写入到txt文件中
# 输入英文:英文写入空文件夹(在修改文件编码格式之后,输入中英文都会乱码)
# Write-Output $getName >  .\Task_1\Manual_test.txt
# 换行追加到Manual_test.txt末尾
# Write-Output $getName >> .\Task_1\Manual_test.txt


# 2 out-file方式
# 输入英文：默认重新创建文件，提示防止原文件覆盖
# Out-File .\Task_1\Manual_test.txt -InputObject $getName -Encoding utf8 -NoClobber 
# 输入中文：输入中文，Read-Host有不能识别中文的问题
# Out-File .\Task_1\Manual_test.txt -InputObject $getName -Encoding utf8 -Append

# 问题：
# 当使用out-file向文件追加内容时，输入中文后，到指定文件进行检查，看到乱码
# 一开始认为是Read-Host不能获取中文的原因，有尝试是不是输出的问题，
# 使用Write-Output进行文件内容的追加，没有乱码
# 总结：
# Write-Output不乱码，out-file乱码，问题是否出在read-Host上

# 将txt文件的字符编码由UTF-16LE修改为UTF-8后再次尝试两种输出方式
# Write-Output乱码，out-file不乱码，不明原因

# 输入：将Manual_test.txt输入到控制台
# 可输入到控制台中文
# Get-Content -Path .\Task_1\Manual_test.txt -Encoding UTF8 
# 从开头或末尾开始输入指定数量的行
# 从开头开始，输入前4行
# Get-Content -Path .\Task_1\Manual_test.txt -Encoding UTF8 -TotalCount 4
# Get-Content -Path .\Task_1\Manual_test.txt -Encoding UTF8 -Head 4
# Get-Content -Path .\Task_1\Manual_test.txt -Encoding UTF8 -First 4
# 从末尾开始，输入后4行
# Get-Content -Path .\Task_1\Manual_test.txt -Encoding UTF8 -Tail 4
# Get-Content -Path .\Task_1\Manual_test.txt -Encoding UTF8 -Last 4

# 关于输入的-Delimiter分隔符的操作
# 使用Task_1/Manual_Delimiter_test.txt文件
# 文件中的内容是在一行上，用逗号分割符进行换行输出
# Get-Content -Delimiter "," -Path .\Task_1\Manual_Delimiter_test.txt


# 任务1.2：向手动创建csv文件添加内容
# 输入csv文件
# Import-Csv -Path .\Task_1\task1.2_test.csv -Encoding UTF8

# 问题:csv文件的创建方式应该是什么:目前是先在excel中输入内容后
# 再将excel文件另存为为csv文件,得到scv文件
# 原先是直接在txt文件中写,在将其后缀改为csv,
# 以为后者方式不能按照excel打开,尝试后是可以的

# 总结: 创建csv文件的正确方式是前者吗,其实后者只是不严谨,应该也合理

# 向csv文件中输出内容
# 待实现:使用Export-csv:导出到指定的csv文件中
# Export-csv练习:
# 定义:将对象转换成一系列的字符分隔值字符串,将字符串保存在文件中
# 将进程信息保存在指定的文件中
# Get-Process | Export-Csv .\Task_1\Proccess.csv -Encoding UTF8

# 创建csv文件写入
<# $data = @(
    [PSCustomObject]@{
        Name = "Bob"
        department = "IT"
    },
    [PSCustomObject]@{
        Name = "Bob"
        department = "IT"
    },
    [PSCustomObject]@{
        Name = "Bob"
        department = "IT"
    }
    ) #>
# 输出是类似模板的文件内容,并不是自定义的内容
# Export-Csv -Path  .\Task_1\Manaual_test1_2.csv -InputObject $data -Encoding UTF8 -NoTypeInformation
# 达到效果
# $data | Export-Csv -Path  .\Task_1\test1_2.csv  -Encoding UTF8 -NoTypeInformation

# 练习:
# 对象的创建和访问


